package com.diwu.diwuoj.diwuojserver.config;



import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.swing.*;
import java.io.IOException;

/**
 * @Description
 * @Author diwu
 * @Date 2024/7/12
 */
@Configuration
//@ConfigurationProperties(prefix = "spring.redis")
@Data
public class RedissonConfig {
    @Value("${spring.redis.host}")
    private String redisHost;

    @Value("${spring.redis.port}")
    private String redisPort;
    //{ 傻逼了 ，我的redis 没有密码}
//    @Value("${spring.redis.password}")
//    private String redisPassword;
//        private String port;
//        private String host;
//        private String password;
    @Bean
    public RedissonClient redissonClient(){
        //创建配置
        Config config = new Config();
        String redisAddress = String.format("redis://%s:%s",redisHost, redisPort);
        config.useSingleServer().setAddress(redisAddress).setDatabase(0);

        // 创建实例
        RedissonClient redissonClient = Redisson.create(config);
        return redissonClient;
    }
    // ---------------------------------------------------------------------------------------------------------


    /**
     * 对 Redisson 的使用都是通过 RedissonClient 对象
     * @return
     * @throws IOException
     */
//    @Bean(destroyMethod="shutdown") // 服务停止后调用 shutdown 方法。
//    public RedissonClient redissonClient() {
//        // 1.创建配置
//        Config config = new Config();
//        // 集群模式
//        // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001");
//        // 2.根据 Config 创建出 RedissonClient 示例。
//        config.useSingleServer().setAddress("redis://192.168.200.129:6379");
//        return Redisson.create(config);
//    }
}
